Artists often edit the color, contrast, and tonal distributions of images for stylistic reasons. These edits can be performed by manually modifying properties such as color hue, tint, saturation, and contrast using image manipulation applications. One way of altering the appearance of an image to achieve a desired change to the image involves applying a style. Applying a “style” refers to applying one or more color-changing or contrast-changing filters or other operations to the image.
For example, FIG. 1 is a block diagram depicting an example of modifying color schemes or other style characteristics of an image 102. An image manipulation application performs one or more stylization processes 104 that globally or locally transform color information and contrast information of the image 102. In one example, the image 102 is transformed into the image 108 by applying a stylization process 104 that decreases the contrast between objects in the image 102 and de-saturates the colors in the image 102. In another example, the image 102 is transformed into the image 110 by applying a stylization process 104 that increases the brightness of the image 102.
There are two popular approaches for selecting a style to apply to an image. The first approach involves using a set of pre-crafted filters, such as the fixed filter options provided by traditional image editing applications. This approach is undesirable, however, because the limited set of filters only presents a few options, and thus will not provide an appropriate style for many input images.
The second approach involves example-based techniques that use example stylized images to identify a style that is to be applied to an image. In these example-based techniques, the color and contrast of a given example stylized image is used to alter the input image. For example, color schemes or other style characteristics may be modified in the input image to match the color scheme or other style characteristics of an example stylized image. Using example stylized images can allow users to intuitively identify color schemes, contrast schemes, or style characteristic of interest that are to be applied to an input image. The quality of a stylized output image can depend on the selection of an appropriate example stylized image. For example, using an outdoor landscape image to stylize an indoor portrait may cause unnatural color shifts in the input image, resulting in a low quality output image.
The choice of the example stylized image is critical. Attempting to transfer color or contrast information from certain example stylized images to an input image can lead to distortion or other undesirable results of the input images.
Prior solutions for selecting example stylized images may present disadvantages. For example, some solutions involve using curated sets of example stylized images. A curated set of example stylized images includes images that are manually reviewed to ensure that they have sufficiently high quality for use in a stylization process. However, a curated set of example stylized images may not include images having different types of content for the same type of image style. Thus, if a semantic similarity metric is used to find an example stylized image that is most similar to an input image, the stylization process may not provide a high-quality output image. It may also be burdensome and infeasible to manually find example stylized images that can be used with an input image in example-based stylization techniques without distorting the resulting output image.
Other solutions involve using a large collection of images with different examples of semantic content to identify a sample image having a higher degree of semantic similarity to an input image as compared to images available in a smaller set of curated example stylized images. However, a large, un-curated collection of images may include images with varying levels of quality. Performing a stylization process using low-quality images may lead to poor output images. For example, the output images may include large numbers of artifacts or other distortions. Furthermore, manually curating larger sets of images to generate a semantically diverse set of high-quality example stylized images may be infeasible.
It is desirable to select high-quality example stylized images for stylization operations that are suitable for stylizing input images having a wide variety of semantic content.